home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1994 December / PSL Monthly Shareware CD-ROM (Public Software Library)(December 1994).bin / prgmming / win / pascal / lststr.pas < prev    next >
Pascal/Delphi Source File  |  1991-09-17  |  2KB  |  56 lines

  1. {$A+,B-,D+,F+,G-,I+,L+,N-,R+,S+,V+,W+,X+}
  2. {$M 8192,0}
  3.  
  4. PROGRAM ListStringsInResource;
  5.  
  6. {$R ..\PCFDIAL\PCFDIAL.RES}   {CHANGE THIS to the resource you want to inspect!}
  7.  
  8.    {A public domain program from Rob Rosenberger (who?)
  9.                                  P.O. Box 643
  10.                                  O'Fallon, IL 62269
  11.                                  CompuServe 74017,1344
  12.     Version 1.00 released on September 6, 1991.
  13.  
  14.    This cute little program serves one VERY useful purpose: it lets you see
  15. all the strings in a given resource file.  The program sends strings to the
  16. screen by default, but you can "uncomment" two lines of code so it will save
  17. the strings in a file.
  18.    String resources prove extremely useful in a WinApp because you can easily
  19. save all the strings outside the boundaries of your executable code.  This
  20. lets you change them without having to recompile the program -- useful if you
  21. want to offer English and German editions of your WinApp.  See page 376 of the
  22. TPW Cookbook for further details on the usefulness of string resources.
  23.    I use this little ditty to save a copy of my strings to a file so I don't
  24. have to retype them in my documentation file.  You may of course find other
  25. uses for it.  Enjoy!}
  26.  
  27. USES
  28.    STRINGS,
  29.    WINCRT,
  30.    WINPROCS;
  31.  
  32.  
  33. VAR
  34.    Index   : WORD;
  35.    TempStr : ARRAY [00..255] OF CHAR;
  36.  
  37.  
  38. BEGIN {ListStringsInResource}
  39. {Uncomment these two lines to save the strings in a file.}
  40. (*
  41. ASSIGN(OUTPUT,'RESOURCE.STR');
  42. REWRITE(OUTPUT);
  43. *)
  44.  
  45. FOR Index := 1 TO 65534
  46.  DO BEGIN
  47.     LoadString(HInstance,Index,@TempStr,SIZEOF(TempStr));
  48.     IF (STRLEN(TempStr) > 0)
  49.      THEN WRITELN(OUTPUT,Index,' = ',TempStr)
  50.     END; {FOR}
  51.  
  52. {Wrap up.}
  53. CLOSE(INPUT);
  54. CLOSE(OUTPUT)
  55. END. {ListStringsInResource}
  56.